Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support modules with different casing in build backend #12240

Merged
merged 7 commits into from
Mar 23, 2025

Conversation

konstin
Copy link
Member

@konstin konstin commented Mar 17, 2025

Match the module name to its module directory with potentially different casing.

For example, a package may have the dist-info-normalized package name pil_util, but the importable module is named PIL_util.

We get the module name either as dist-info-normalized package name, or explicitly from the user. For dist-info-normalizing a package name, the rules are lowercasing, replacing . with _ and replace - with _. Since . and - are not allowed in module names, we can check whether a directory name matches our expected module name by lowercasing it.

Fixes #12187

@konstin konstin added the bug Something isn't working label Mar 17, 2025
@NourEldin-Osama
Copy link

May I ask when this pull request will get merged?

konstin added 5 commits March 21, 2025 18:10
Match the module name to its module directory with potentially different casing.

For example, a package may have the dist-info-normalized package name `pil_util`, but the importable module is named `PIL_util`.

We get the module either as dist-info-normalized package name, or explicitly from the user.
For dist-info-normalizing a package name, the rules are lowercasing, replacing `.` with `_` and
replace `-` with `_`. Since `.` and `-` are not allowed in module names, we can check whether a
directory name matches our expected module name by lowercasing it.

Fixes #12187
@konstin konstin force-pushed the konsti/build-backend-normalize-module-name branch from 454f3de to a4a350a Compare March 22, 2025 01:10
@konstin konstin requested a review from charliermarsh March 22, 2025 01:17
@charliermarsh charliermarsh force-pushed the konsti/build-backend-normalize-module-name branch from fe77ee9 to 2db6c32 Compare March 23, 2025 13:19
@charliermarsh charliermarsh enabled auto-merge (squash) March 23, 2025 13:19
@charliermarsh charliermarsh merged commit fb1b323 into main Mar 23, 2025
76 checks passed
@charliermarsh charliermarsh deleted the konsti/build-backend-normalize-module-name branch March 23, 2025 13:29
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Mar 26, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.6.9` -> `0.6.10` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.6.10`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0610)

[Compare Source](astral-sh/uv@0.6.9...0.6.10)

##### Enhancements

-   Add `uv sync --check` flag ([#&#8203;12342](astral-sh/uv#12342))
-   Add support for Python version requests in `uv python list` ([#&#8203;12375](astral-sh/uv#12375))
-   Support `.env` files in `uv tool run` ([#&#8203;12386](astral-sh/uv#12386))
-   Support `python find --script` ([#&#8203;11891](astral-sh/uv#11891))

##### Preview features

-   Check all compatible torch indexes when `--torch-backend` is enabled ([#&#8203;12385](astral-sh/uv#12385))

##### Performance

-   Use a boxed slice for extras and groups ([#&#8203;12391](astral-sh/uv#12391))
-   Use small string for index name type ([#&#8203;12355](astral-sh/uv#12355))

##### Bug fixes

-   Allow virtual packages with `--no-build` ([#&#8203;12314](astral-sh/uv#12314))
-   Ignore `--find-links` entries for pinned indexes ([#&#8203;12396](astral-sh/uv#12396))
-   Omit wheels from lockfile based on `--exclude-newer` ([#&#8203;12299](astral-sh/uv#12299))
-   Retain end-of-line comment position when adding dependency ([#&#8203;12360](astral-sh/uv#12360))
-   Omit fragment when querying for wheels in Simple HTML API ([#&#8203;12384](astral-sh/uv#12384))
-   Error on missing argument in `requirements.txt` ([#&#8203;12354](astral-sh/uv#12354))
-   Support modules with different casing in build backend ([#&#8203;12240](astral-sh/uv#12240))
-   Add authentication policy support for `pip` commands ([#&#8203;12470](astral-sh/uv#12470))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMTMuNSIsInVwZGF0ZWRJblZlciI6IjM5LjIxMy41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

uv_build Error when the folder name is capitalized
3 participants